// 封装购物车相关API函数

import request from '@/utils/request'

/**
 * 获取商品 最新价格 库存 是否有效
 * @param {String} skuId  - SKU id
 * @returns
 */
export const getNewCartGoods = (skuId) => request({
  url: `/goods/stock/${skuId}`
})

/**
 * 获取商品对应sku数据
 * @param {String} skuId - SKU id
 * @returns
 */
export const getGoodsSku = (skuId) => request({
  url: `/goods/sku/${skuId}`
})

/**
 *  合并购物车
 * @param {array<object>} cartList  - 购物车信息列表
 * @param {string} object.skuId -skuiD
 * @param {Boolean} object.selected -选中状态
 * @param {Integer} object.count -数量
 * @returns
 */
export const mergeCart = cartList => request({
  url: '/member/cart/merge',
  method: 'POST',
  data: cartList

})
/**
 * 获取购物车列表
 * @returns
 *
 */
export const findCart = () => request({
  url: '/member/cart'
})
/**
 * 加入购物车
 * @param {String} object.skuId skuId
 * @param {String} object.count 购物车数量
 * @returns
 */
export const insertCart = ({ skuId, count }) => request({
  url: '/member/cart',
  method: 'POST',
  data: { skuId, count }
})

/**
 * 删除购物车商品，支持批量
 * @param {Array<String>} ids  -skuId的集合
 * @returns
 */
export const deleteCart = (ids) => request({
  url: '/member/cart',
  method: 'DELETE',
  data: {
    ids
  }
})

/**
 *修改购物车(状态,数量)
 * @param {String} skuId  -SKUID
 * @param {Integer} count  -加入购物车数量
 * @param {Boolean} selected  -选中状态
 * @returns
 */
export const updateCart = data => request({
  url: `/member/cart/${data.skuId}`,
  data,
  method: 'PUT'
})
/**
 * 全部选中&取消全选
 * @param {Boolean} selected  -选中状态
 * @param {Array<String>} ids  -skuId的集合
 * @returns
 */
export const checkAllCart = data => request({
  url: '/member/cart/selected',
  method: 'PUT',
  data
})
